package de.easywakeup.data;

import java.util.HashMap;

import com.thoughtworks.xstream.annotations.XStreamOmitField;

import android.app.AlarmManager;
import android.app.PendingIntent;

public class AlarmList
{

	private Data data;

	private int alarmTimeHour;
	private int alarmTimeMinute;
	private String alarmTime;
	private String nameOfAlarmEdit;
	private boolean bt_moClicked;
	private boolean bt_diClicked;
	private boolean bt_miClicked;
	private boolean bt_doClicked;
	private boolean bt_frClicked;
	private boolean bt_saClicked;
	private boolean bt_soClicked;
	private boolean checkBoxCalenderClicked;
	private boolean checkBoxWeatherClicked;
	private int chooseNoiseOfSound = 0;
	private boolean checkBoxVibrationClicked;
	private boolean checkBoxAlarmInSpeechClicked;
	private long calculatedAutoTime = 0;

	// Time to Ring
	@XStreamOmitField
	private transient AlarmManager timer;
	private transient PendingIntent alarmPendingIntent;

	private boolean alreadyOpenedAlert = false;
	private boolean alreadyPlayingMusik = false;

	// Data of ChooseMusikAlert
	private HashMap< String, String > choosedSound;

	// "songTitle" for songName
	// "albumId"for albumId
	// "albumName" for albumName
	// "songPath" for path

	public AlarmList( )
	{
		// Set Data
		data = Data.singleton( );

		setAlarmTimeHour( 0 );
		setAlarmTimeMinute( 0 );
		nameOfAlarmEdit = "";
		bt_moClicked = false;
		bt_diClicked = false;
		bt_miClicked = false;
		bt_doClicked = false;
		bt_frClicked = false;
		bt_saClicked = false;
		bt_soClicked = false;
		checkBoxCalenderClicked = false;
		checkBoxWeatherClicked = false;
		choosedSound = new HashMap< String, String >( );

		chooseNoiseOfSound = 0;
		checkBoxVibrationClicked = false;
		checkBoxAlarmInSpeechClicked = false;

	}

	// Below here, are only Getter and Setter
	public Data getData( )
	{
		return data;
	}

	public void setData( Data data )
	{
		this.data = data;
	}

	public String getNameOfAlarmEdit( )
	{
		return nameOfAlarmEdit;
	}

	public void setNameOfAlarmEdit( String nameOfAlarmEdit )
	{
		this.nameOfAlarmEdit = nameOfAlarmEdit;
	}

	public boolean isBt_moClicked( )
	{
		return bt_moClicked;
	}

	public void setBt_moClicked( boolean bt_moClicked )
	{
		this.bt_moClicked = bt_moClicked;
	}

	public boolean isBt_diClicked( )
	{
		return bt_diClicked;
	}

	public void setBt_diClicked( boolean bt_diClicked )
	{
		this.bt_diClicked = bt_diClicked;
	}

	public boolean isBt_miClicked( )
	{
		return bt_miClicked;
	}

	public void setBt_miClicked( boolean bt_miClicked )
	{
		this.bt_miClicked = bt_miClicked;
	}

	public boolean isBt_doClicked( )
	{
		return bt_doClicked;
	}

	public void setBt_doClicked( boolean bt_doClicked )
	{
		this.bt_doClicked = bt_doClicked;
	}

	public boolean isBt_frClicked( )
	{
		return bt_frClicked;
	}

	public void setBt_frClicked( boolean bt_frClicked )
	{
		this.bt_frClicked = bt_frClicked;
	}

	public boolean isBt_saClicked( )
	{
		return bt_saClicked;
	}

	public void setBt_saClicked( boolean bt_saClicked )
	{
		this.bt_saClicked = bt_saClicked;
	}

	public boolean isBt_soClicked( )
	{
		return bt_soClicked;
	}

	public void setBt_soClicked( boolean bt_soClicked )
	{
		this.bt_soClicked = bt_soClicked;
	}

	public boolean isCheckBoxCalenderClicked( )
	{
		return checkBoxCalenderClicked;
	}

	public void setCheckBoxCalenderClicked( boolean checkBoxCalenderClicked )
	{
		this.checkBoxCalenderClicked = checkBoxCalenderClicked;
	}

	public boolean isCheckBoxWeatherClicked( )
	{
		return checkBoxWeatherClicked;
	}

	public void setCheckBoxWeatherClicked( boolean checkBoxWeatherClicked )
	{
		this.checkBoxWeatherClicked = checkBoxWeatherClicked;
	}

	public int getChooseNoiseOfSound( )
	{
		return chooseNoiseOfSound;
	}

	public void setChooseNoiseOfSound( int chooseNoiseOfSound )
	{
		this.chooseNoiseOfSound = chooseNoiseOfSound;
	}

	public boolean isCheckBoxVibrationClicked( )
	{
		return checkBoxVibrationClicked;
	}

	public void setCheckBoxVibrationClicked( boolean checkBoxVibrationClicked )
	{
		this.checkBoxVibrationClicked = checkBoxVibrationClicked;
	}

	public boolean isCheckBoxAlarmInSpeechClicked( )
	{
		return checkBoxAlarmInSpeechClicked;
	}

	public void setCheckBoxAlarmInSpeechClicked( boolean checkBoxAlarmInSpeechClicked )
	{
		this.checkBoxAlarmInSpeechClicked = checkBoxAlarmInSpeechClicked;
	}

	public int getAlarmTimeHour( )
	{
		return alarmTimeHour;
	}

	public void setAlarmTimeHour( int alarmTimeHour )
	{
		this.alarmTimeHour = alarmTimeHour;
	}

	public int getAlarmTimeMinute( )
	{
		return alarmTimeMinute;
	}

	public void setAlarmTimeMinute( int alarmTimeMinute )
	{
		this.alarmTimeMinute = alarmTimeMinute;
	}

	public String getAlarmTime( )
	{
		return alarmTime;
	}

	public void setAlarmTime( String alarmTime )
	{
		this.alarmTime = alarmTime;
	}

	public HashMap< String, String > getChoosedSound( )
	{
		return choosedSound;
	}

	public void setChoosedSound( HashMap< String, String > choosedSound )
	{
		this.choosedSound = choosedSound;
	}

	public AlarmManager getTimer( )
	{
		return timer;
	}

	public void setTimer( AlarmManager timer )
	{
		this.timer = timer;
	}

	public PendingIntent getAlarmPendingIntent( )
	{
		return alarmPendingIntent;
	}

	public void setAlarmPendingIntent( PendingIntent alarmPendingIntent )
	{
		this.alarmPendingIntent = alarmPendingIntent;
	}

	public boolean isAlreadyOpenedAlert( )
	{
		return alreadyOpenedAlert;
	}

	public void setAlreadyOpenedAlert( boolean alreadyOpenedAlert )
	{
		this.alreadyOpenedAlert = alreadyOpenedAlert;
	}

	public boolean isAlreadyPlayingMusik( )
	{
		return alreadyPlayingMusik;
	}

	public void setAlreadyPlayingMusik( boolean alreadyPlayingMusik )
	{
		this.alreadyPlayingMusik = alreadyPlayingMusik;
	}

	public long getCalculatedAutoTime( )
	{
		return calculatedAutoTime;
	}

	public void setCalculatedAutoTime( long calTime )
	{
		this.calculatedAutoTime = calTime;
	}

}
